---
title: 'Intercom'
sidebarTitle: 'Intercom'
description: 'Access the Intercom API in 2 minutes 💨'
---

<Tabs>
  <Tab title="🚀 Quickstart">
    <Steps>
      <Step title="Create an integration">
        In Nango ([free signup](https://app.nango.dev)), go to [Integrations](https://app.nango.dev/dev/integrations) -> _Configure New Integration_ -> _Intercom_.
      </Step>
      <Step title="Authorize Intercom">
        Go to [Connections](https://app.nango.dev/dev/connections) -> _Add Test Connection_ -> _Authorize_, then log in to Intercom. Later, you'll let your users do the same directly from your app. Nango doesn't provide a test OAuth app for Intercom yet. You’ll need to set up your own by following these [instructions](#🧑%E2%80%8D💻-oauth-app-setup). After that, make sure to add the OAuth client ID, secret, and scopes in the integration settings in Nango.
      </Step>
      <Step title="Call the Intercom API">
        Let's make your first request to the Intercom API (fetch current admin information). Replace the placeholders below with your [secret key](https://app.nango.dev/dev/environment-settings), [integration ID](https://app.nango.dev/dev/integrations), and [connection ID](https://app.nango.dev/dev/connections):
        <Tabs>
            <Tab title="cURL">
                ```bash
                curl "https://api.nango.dev/proxy/me" \
                  -H "Authorization: Bearer <NANGO-SECRET-KEY>" \
                  -H "Provider-Config-Key: <INTEGRATION-ID>" \
                  -H "Connection-Id: <CONNECTION-ID>"
                ```
            </Tab>

            <Tab title="Node">

            Install Nango's backend SDK with `npm i @nangohq/node`. Then run:

            ```typescript
            import { Nango } from '@nangohq/node';

            const nango = new Nango({ secretKey: '<NANGO-SECRET-KEY>' });

            const res = await nango.get({
                endpoint: '/me',
                providerConfigKey: '<INTEGRATION-ID>',
                connectionId: '<CONNECTION-ID>'
            });

            console.log(JSON.stringify(res.data, null, 2));
            ```
            </Tab>

        </Tabs>

        Or fetch credentials dynamically via the [Node SDK](/reference/sdks/node#get-a-connection-with-credentials) or [API](/reference/api/connection/get).

      </Step>
    </Steps>

    ✅ You're connected! Check the [Logs](https://app.nango.dev/dev/logs) tab in Nango to inspect requests.

    <Tip>
    Next step: [Embed the auth flow](/getting-started/quickstart/embed-in-your-app) in your app to let your users connect their Intercom accounts.
    </Tip>
  </Tab>
  <Tab title="🧑‍💻 OAuth app setup">
    <Steps>
      <Step title="Create an Intercom Developer account">
        Go to [Intercom's Developer signup page](https://app.intercom.com/a/developer-signup) and create a free account.
      </Step>
      <Step title="Create a new app in your Developer account">
        1. From your Developer Workspace, navigate to **Settings** > **Integrations** > **Developer Hub** > **Your apps**.
        2. Click **New app** and provide a name for your app.
        3. Select the **Workspace** to associate with the application, then click **Create app**.
      </Step>
      <Step title="Configure OAuth settings">
        In the app you just created:
        1. Navigate to the **Authentication** tab under **Configure** then click the **Edit** button.
        2. Check the **Use OAuth** checkbox, then go to **Redirect URLs** and add the following URL: `https://api.nango.dev/oauth/callback`.
        3. Select the appropriate permissions your app will need under **Permissions**.
        4. Save your changes.
      </Step>
      <Step title="Obtain API credentials">
        1. Navigate to the **Basic Information** tab under **Configure**, then locate your app's credentials.
        2. Copy the **Client ID** and **Client Secret**.
        3. You will need these credentials when configuring your integration in Nango.
      </Step>
      <Step title="Next">
        Follow the [_Quickstart_](/getting-started/quickstart).
      </Step>
    </Steps>

  </Tab>
  <Tab title="🔗 Useful links">
    | Topic | Links | 
    | - | - | 
    | General | [Intercom Website](https://www.intercom.com/) |
    | | [Create a Developer account](https://app.intercom.com/a/developer-signup) |
    | | [Developer Hub](https://developers.intercom.com/) |
    | Developer | [API documentation](https://developers.intercom.com/docs/build-an-integration/learn-more/rest-apis) |
    | | [Developer console](https://app.intercom.com/a/apps/_/developer-hub) |
    | | [Authentication documentation](https://developers.intercom.com/docs/build-an-integration/learn-more/authentication) |
    | | [OAuth setup guide](https://developers.intercom.com/docs/build-an-integration/learn-more/authentication/setting-up-oauth) |
    | | [How to register an application](https://developers.intercom.com/docs/build-an-integration/learn-more/authentication/setting-up-oauth#provide-the-initial-information) |
    | | [List of OAuth scopes](https://developers.intercom.com/docs/build-an-integration/learn-more/authentication/oauth-scopes) |
    | | [API rate limiting](https://developers.intercom.com/docs/references/rest-api/errors/rate-limiting) |

    <Note>Contribute useful links by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/intercom.mdx)</Note>
  </Tab>
  <Tab title="🚨 API gotchas">
    - Intercom access tokens do not expire. Logically, Intercom doesn't return a refresh token along with the access token.
    - You do not need to pass API scopes/permissions during the authorization request. Permissions are only set in the Intercom Developer Portal.
    - Intercom has [rate limits](https://developers.intercom.com/docs/references/rest-api/errors/rate-limiting) that vary by endpoint and plan type.
    - When working with the Intercom API, be aware that some endpoints require specific permissions that must be enabled in your app's configuration.
    - For region-specific instances, you can configure the region during connection creation. Use `eu` for EU instances or `au` for Australia instances. If not specified, the default US region will be used.

    <Note>Contribute API gotchas by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/intercom.mdx)</Note>
  </Tab>
</Tabs>

<Info>
    Questions? Join us in the [Slack community](https://nango.dev/slack).
</Info>
